﻿@{
    var X = Html.X();
}

@(
    X.FormPanel()
        .ID("formConsultarRegistros")
        .Title("Filtros") 
        .Layout(LayoutType.Form)
        .Width(300)
        .MinWidth(300)
        .MaxWidth(300)  
        .Region(Region.East)
        .Collapsible(true)
        .Split(true)
        .Resizable(false) 
        .CollapseMode(CollapseMode.Mini)
        .BodyPadding(5)
        .FieldDefaults(fieldDefaults => { fieldDefaults.LabelWidth = 130; })
        .Items(
            X.ComboBox()
                .ID("oficinaId")
                .FieldLabel("Oficina")
                .QueryMode(DataLoadMode.Remote)
                .ForceSelection(true)
                .AllowBlank(false) 
                .DisplayField("nombre")
                .ValueField("oficina_id")
                .EmptyText("Seleccione oficina...")
                .PageSize(10)
                .MinChars(0)
                .TriggerAction(TriggerAction.Query)
                .ListConfig(
                    Html.X().BoundList()
                        .LoadingText("Buscando...")
                        .ItemTpl(
                            Html.X().XTemplate()
                                .Html(@<text>
                                <div class="search-item">
                                    <h3><span>{oficina_id}</span>{nombre}</h3>
                                    Direccion: {direccion}
                                </div>
                                </text>)
                        )
                )
                .Store(
                    X.StoreFor(typeof(PcaCore.BOL.Pca.oEmpresa))
                        .AutoLoad(false)
                        .Proxy(
                            X.AjaxProxy()
                                .Url(Url.Action("GetAllOficinas", "Reportes"))
                                .Reader(X.JsonReader().RootProperty("data"))
                        )
                ),
            X.DateField()
                .ID("fechaInicio")
                .FieldLabel("Fecha de inicio")
                .AllowBlank(false) 
                .Listeners(ls =>
                {
                    ls.Change.Handler = @"if(Ext.isDate(newValue)){
                                            App.fechaFin.setMinValue(newValue);
                                        }";

                }),
            X.DateField()
                .ID("fechaFin")
                .FieldLabel("Fecha fin")
                .AllowBlank(false)
                .Listeners(ls =>
                {
                    ls.Change.Handler = @"if(Ext.isDate(newValue)){
                                            App.fechaInicio.setMaxValue(newValue);
                                        }";

                }),
            X.ComboBox()
                .ID("filtroId")
                .FieldLabel("Mostar")
                .QueryMode(DataLoadMode.Local)
                .Editable(false)
                .ForceSelection(true)
                .AllowBlank(false)
                .DisplayField("nombre")
                .ValueField("id")
                .Value(0)//Por defecto mostrar todos
                .Store(
                    X.StoreFor(typeof(PcaCore.DAL.oCampo))
                        .AutoLoad(true)
                        .Proxy(
                            X.AjaxProxy()
                                .Url(Url.Action("GetListFiltros","Registro"))
                                .Reader(X.JsonReader().RootProperty("data"))
                        )
                )
        )
        .Buttons(
            X.Button()
                .Text("Consultar")
                .Icon(Icon.Find)
                .Handler(@"if(App.formConsultarRegistros.getForm().isValid()){
                                App.bodyRpt.getLoader().load();
                           }") 
        )
)

